# -*- coding: utf-8 -*-
"""
@Time    : 2024/9/6 11:59 
@Author  : ZhangShenao 
@File    : 6.质数.py 
@Desc    : 质数

质数/素数指的是只能被1和自身整除的正整数(不包括1)
"""


def is_prime(n: int) -> bool:
    """判断正整数n是否为质数"""

    if n <= 1:
        return False

    # 判断n是否只能被1和自身整除
    for i in range(2, n):
        if n % i == 0:
            return False

    return True


def find_all_prime_numbers(n: int) -> list[int]:
    """找出n以内的所有质数,返回一个列表"""

    if n < 2:
        return []

    prime_nums: list[int] = []
    for i in range(2, n + 1):
        if is_prime(i):
            prime_nums.append(i)
    return prime_nums


if __name__ == '__main__':
    print(find_all_prime_numbers(100))
